StitchでZendeskのデータをDBに自動連携してみた
どうも。DI部@大阪オフィスの玉井です。
私は業務の一環として、自分のチームでやってるサポートの問い合わせデータ(Zendeskデータ)の分析などをやってたりします。(分析結果を月イチで振り返ってサポート業務に活かしているつもり)
上記エントリでは、APIを叩いて直接Tableau用のデータ(Hyper)を生成していますが、この方法の場合、下記のデメリットがあります。
- (Tableau Serverとかを活用しないかぎり)データがローカルにしか保存されない
- データを更新するためには、その都度APIを叩く必要がある
ですので、本当は何らかのデータベースに都度連携して、常に最新のデータを直接見る…みたいなことをしたいと思いました。
調べてみると、色々なWebサービス(のデータ)と各種DBの間を自動で連携してくれるデータパイプラインサービスなるものが、世の中には結構あるようです。今回はStitchというサービスを使って、ZendeskデータをDBに自動連携したいと思います。
Stitchとは
Stitch is a cloud-first, open source platform for rapidly moving data.
連携元サービスと連携先DBを設定すれば、後は自動で定期的にデータ連携してくれるサービスです。SaaSなので、このサービス自体の運用管理は不要です。
対応データソース(連携元)
DBに連携したいサービス(のデータ)の一覧が上記ページで確認できます。Zendeskも対応してます。
対応DB(連携先)
データ分析用途によく使用されるDBとしては、一通り揃っていますね。
料金
なんと、連携するデータ数が月500万以下の場合は無料となってます。
ただ、注意しなきゃいけないのは、連携元サービスの種類によっては、有料プランのみとなっているものもあります。Zendeskも残念ながら有料プランのみ選択できるサービスとなっているのですが、「有料プラン専用の連携元サービスだけど月500万件以下」っていう場合どうなるかがサイトからではわかりませんでした…(おそらく、お金はかからないけど、あくまで有料プランだからクレジットカードは登録しないといけない…みたいな感じかと予想してます)。
使ってみた
今回はとりあえずフリートライアル期間中を利用します。
連携先のDBを用意する
サクッと試したいため、今回はAmazon RDSにPostgreSQLをたてました。
フリートライアルを開始する
Stitchのサイトの右上からサインアップします。ここらへんは他サービスと同じ流れです(メールアドレスに案内が来て、リンク先に遷移したら初期設定的なやつ)。
連携元のサービス(のデータ)を選択する
まず最初にやることは、連携元のサービスを選ぶことです。DBに連携したいデータは何なんだい?ということです。冒頭からいっている通り、今回はZendeskを選択します。
連携元サービスの設定を行う
連携したいサービスを選んだら、そのサービスにStitchが接続できるように各種設定値を入力します。StitchとZendeskの設定の詳細は下記を御覧ください。
Sync Historical Data
「どの時点(日付)からデータ連携するか」を選択します。最初の連携以降は増分更新が行われます。ちなみに、規定の設定では1年間分のデータが連携されるようで、それ以上の期間を連携したい場合は別途設定が必要とのことです。
Replication Frequency
連携する間隔(時間)を決めます。
連携するテーブルを選択する
Zendeskの設定が完了すると、次は、Zendeskのどのデータ(テーブル)を連携するかを決めます。
テーブルだけでなく、カラム単位で選択することもできます。
連携先のDBの種類を選択する
連携元の設定が一通り終わったところで、今度は連携先のデータベースを選択します。先程PostgreSQLを用意したので、選択するのはもちろんPostgreSQLです。
連携先DBの設定を行う
PostgreSQLの設定を行います。基本的にはSQLクライアント等の設定とかと変わりません。注意点は、StitchがDBにアクセスする以上、Stitch側のIPアドレスを許可しておく必要があります。今回はAmazon RDSなので、セキュリティグループで設定しておきましょう。
連携開始
連携元と連携先の設定が完了すると、接続の確認が行われ、問題がなければ連携が開始されます。
連携されたデータを確認
事前に設定した名前でスキーマが作成され、Zendeskのデータが連携されていることを確認しました。基本的にはAPI毎に分かれている感じですが、全く同じというわけではなく、Stitch内である程度使いやすいようにテーブルにまとめてくれているようです(本当に使いやすいかどうかは、ユーザによると思います)。作られるテーブルの詳細については下記をどうぞ。
DBに入った以上、後はこのデータをBIツールで分析するなり、データプレパレーションツールでもう少し整形したりと、好きなように料理することができます。
Stitchの設定
設定後も、もちろん連携に関する設定は、管理画面からいつでも変更可能です。
おわりに
ZendeskやSalesforceといったサービスは、使えば使うほど中のデータを分析する必要が出てくると思います。しかし、APIを叩いてデータを取得し、自分が望む形になるようにデータ前処理を組んでいくというのは、なかなか骨が折れる作業です。しかし、こういったデータパイプラインツールを使えば、ポチポチ設定するだけで、馴染みのあるDBにサクッとロードすることができます。
今回はStitchというサービスを使ってみましたが、他にもこういったサービスは色々と出ており、例えば同じZendeskでも、作成されるテーブル構成が若干異なったりするので、サービスのドキュメントをよく読んで決めるのがよいと思います。